package com.boot;

import com.boot.config.UpConfig;
import com.boot.domain.Info;
import org.springframework.boot.SpringApplication;
import org.springframework.context.ApplicationContext;

import java.util.Map;

/**
 * @author
 * @date 2025-07-28
 * @Description 测试使用 java的环境变量 以及操作的环境变量
 */
public class MainApplication {

    public static void main(String[] args) {

        // main 方法参数通过命令进行输入
        for (String arg : args) {
            System.out.println("main方法参数输入：" + arg);
        }
        // 通过java 系统 属性 自定义属性
//        System.setProperty("his.name","DMC") ;

        // 获取操作系统全部的属性 System.getProperties()
        for (Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
            System.out.printf("%-30s : %s %n", entry.getKey(), entry.getValue());
        }

        System.out.println("------------------------------------------");
        ApplicationContext run = SpringApplication.run(UpConfig.class, args);

        Info info = run.getBean(Info.class);
        System.out.println(info.getPath()); // 测试直接获取操作系统环境变量的属性 @Value("${path}")
        System.out.println(info.getMyPath());// 测试直接获取操作系统环境变量 通过配置文件获取 my.path=${path}
        System.out.println(info.getMyName());
        System.out.println(info.getUserName());
        System.out.println("hisName:" + info.getHisName());
        System.out.println("herName:" + info.getHerName());
    }
}
